#ifndef USERDATA_H
#define USERDATA_H

#include <QString>
#include "sk_singleton.h"

#define SETTINGS_DEVELOPER "Software Kernerls"
#define SETTINGS_SOFWARE   "Physics Game Editor"

#define _UD UserData::Instance()


namespace sk
{
    class ProjectItem;
    class GameProject;
} // namespace sk

class MainWindow;
class ProjectExplorer;
class DesignWindow;
class LevelEditor;
class SimulationWindow;

class UserData : public sk::Singleton<UserData>
{
public:
    UserData();

    QString lastDirectory() const;
    void setLastDirectory(QString lastDir);

public: // handy globals
    MainWindow * mw;
    ProjectExplorer * pe;
    DesignWindow * dw;
    LevelEditor * le;
    SimulationWindow * sw;
    sk::ProjectItem * pi;
    sk::GameProject * project;
private:
    QString _lastDir;
};

#endif // USERDATA_H
